Enterprise customers prefer highly stable platforms to run their mission-critical infrastructure. They also prefer platforms that are regularly and rapidly updated with improved features. However, rapid updates often come with a cost: upgrade too rapidly and risk introducing platform instability, bugs, or security loopholes. Rapid upgrades may also risk being incompatible with client devices or software thereby potentially interrupting the user experience and in particular, the experience of those engaged in long running sessions.
A user may have a session running for days or weeks. If any part of an enterprise platform is upgraded during that time, existing sessions may fail or the user may encounter unexpected delays in opening new sessions. For example, the user may experience some parts of the system failing to load versionable resources (e.g. asychnronously loaded JavaScript files) or those system resources that have been loaded may display incorrect user state or information, content information, list entries, or system information. Furthermore, if system traffic is directed to the new system resource versions, the users could experience a complete compatibility failure whereby the user is unable to perform any platform activity. In a worst case scenario, the user may experience a permanent loss of data or an irreparable corruption of critical information.
Accordingly, some users forgo the benefits of rapid and regular updates to avoid the inconvenience of interrupted user experiences or the permanent dangers that come with the loss or corruption of crucial data and information.
It is with respect to these and other general consideration that aspects of the present disclosure have been made. Additionally, although relatively specific problems are discussed, it should be understood that the aspects should not be limited to solving only the specific problems identified in the background.